/*
 *    Copyright (c) 2018-2025, lengleng All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: lengleng (wangiegie@gmail.com)
 */
import { getObj } from '@/api/app/app-social-details'

var validateSocial = (rule, value, callback) => {
  getObj(value).then(response => {
    if (window.boxType === 'edit') {
      return callback()
    }
    const result = response.data.data
    if (result.length !== 0) {
      callback(new Error('此类型密钥已存在'))
    } else {
      callback()
    }
  })
}

export const tableOption = {
  border: true,
  index: true,
  indexLabel: '序号',
  stripe: true,
  menuAlign: 'center',
  align: 'center',
  viewBtn: true,
  searchMenuSpan: 6,
  labelWidth: 120,
  column: [{
    label: 'ID',
    prop: 'id',
    hide: true,
    addDisplay: false,
    editDisabled: true
  },
  {
    label: '类型',
    prop: 'type',
    type: 'select',
    search: true,
    dicData: [{
      label: '账号密码登录',
      value: 'PWD'
    },
    {
      label: '验证码登录',
      value: 'SMS'
    },
    {
      label: 'QQ登录',
      value: 'QQ'
    },
    {
      label: '微信登录',
      value: 'WX'
    },
    {
      label: '微信小程序',
      value: 'MINI'
    },
    {
      label: '码云登录',
      value: 'GITEE'
    },
    {
      label: '开源中国登录',
      value: 'OSC'
    },
    {
      label: '钉钉',
      value: 'DINGTALK'
    },
    {
      label: '企业微信',
      value: 'WEIXIN_CP'
    },
    {
      label: 'CAS 登录',
      value: 'CAS'
    }],
    rules: [{
      required: true,
      message: '请选择类型',
      trigger: 'blur'
    }, { validator: validateSocial, trigger: 'blur' }]
  },
  {
    label: '描述',
    prop: 'remark'
  },
  {
    label: 'appId',
    prop: 'appId',
    overHidden: true,
    rules: [{
      required: true,
      message: '请输入appId',
      trigger: 'blur'
    }]
  },
  {
    label: 'appSecret',
    prop: 'appSecret',
    overHidden: true,
    rules: [{
      required: true,
      message: '请输入appSecret',
      trigger: 'blur'
    }]
  },
  {
    label: '回调地址',
    prop: 'redirectUrl',
    hide: true,
    span: 24
  },
  {
    label: '扩展字段',
    prop: 'ext',
    type: 'textarea',
    hide: true,
    minRows: 2,
    row: true,
    span: 24
  },
  {
    valueFormat: 'timestamp',
    format: 'yyyy-MM-dd hh:mm:ss',
    label: '创建时间',
    prop: 'createTime',
    align: 'center',
    addDisplay: false,
    editDisabled: true
  }
  ]
}
